/**
 * 执行队列节点，一个节点可以执行一条服务器命令。
 *
 * 服务器命令是由 EventList 反序列化得到的。
 */
#pragma once

#include "EventList.h"

/* 执行队列节点对象 */
typedef struct _ExecuteQueue ExecuteQueue;
#define EXECUTE_QUEUE(any) ((ExecuteQueue *)any);

extern ExecuteQueue *execute_queue_new(void);
extern EventList    *execute_queue_get_command(ExecuteQueue *self);
extern int	     execute_queue_get_sock(ExecuteQueue *self);
/**
 * 设置执行节点
 */
extern void execute_queue_set(ExecuteQueue *self, int sock,
			      EventList *list_cmd);
